home *** CD-ROM | disk | FTP | other *** search
- onClipEvent(enterFrame){
- for(myItem in _root.activeItems)
- {
- _root.fall(myItem);
- }
- for(myItem in _root.activeFoams)
- {
- _root.fallFoam(myItem);
- }
- if(!_root.gameFinished && !_root.emu.inLift)
- {
- if(_root.sophie.pausedState != 0)
- {
- _root.sophieClip.gotoAndStop(_root.sophie.pausedState);
- _root.sophie.pausedState = 0;
- }
- if(getTimer() > _root.gameTimer)
- {
- _root.sophie.homing = 2.5 * Math.ceil((getTimer() - _root.gameTimer) / 15000);
- }
- _root.sophieHeartBeat();
- if(!_root.emu.elevator)
- {
- if(!_root.emu.landing && !_root.emu.falling && !_root.emu.onLadder)
- {
- if(_root.emu._x > _root["holeArray" + _root.emu.myFloor][0].xMin && _root.emu._x < _root["holeArray" + _root.emu.myFloor][0].xMax && _root["floor" + _root.emu.myFloor] - _root.emu._y - _root.emu.emuHeight > -1 && _root["floor" + _root.emu.myFloor] - _root.emu._y - _root.emu.emuHeight < 20)
- {
- _root.emu.gotoAndStop("fall" + (_root.emu.xdir + 1));
- _root.emu.falling = 1;
- _root.emu.myFloor = _root.emu.myFloor + 1;
- }
- }
- if(_root.emu._y != _root["floor" + _root.emu.myFloor] - _root.emu.emuHeight && !_root.emu.onLadder)
- {
- if(_root.emu.yspeed + 2 < _root.emu.terminal)
- {
- _root.emu.yspeed += 2;
- }
- if(_root.emu._x > _root["holeArray" + _root.emu.myFloor][0].xMin && _root.emu._x < _root["holeArray" + _root.emu.myFloor][0].xMax && _root.emu.myFloor < 4 && _root["floor" + _root.emu.myFloor] - _root.emu._y - _root.emu.emuHeight > -1 && _root["floor" + _root.emu.myFloor] - _root.emu._y - _root.emu.emuHeight < 20)
- {
- _root.emu.myFloor = _root.emu.myFloor + 1;
- _root.emu._y += _root.emu.yspeed;
- }
- else if(!_root.emu.landing && _root.emu._y + _root.emu.yspeed > _root["floor" + _root.emu.myFloor] - _root.emu.emuHeight)
- {
- _root.emu._y = _root["floor" + _root.emu.myFloor] - _root.emu.emuHeight;
- _root.emu.gotoAndStop("land" + (_root.emu.xdir + 1));
- _root.emu.yspeed = 0;
- _root.emu.landing = 1;
- }
- else
- {
- _root.emu._y += _root.emu.yspeed;
- }
- }
- _root.emu.emuBraking = 0.8;
- if(!_root.emu.landing && Key.isDown(40) && !_root.emu.onLadder)
- {
- if(_root.ladders.hitTest(_root.emu._x,_root.emu._y + _root.emu.emuHeight,true))
- {
- if(!_root.emu.onLadder)
- {
- _root.emu.onLadder = 1;
- _root.emu.myFloor = _root.emu.myFloor + 1;
- _root.emu.speed = 0;
- }
- _root.emu.ladderDir = 1;
- _root.emu._y += 5;
- _root.emu.gotoAndStop("climb");
- }
- else
- {
- _root.emu.onLadder = 0;
- }
- }
- else if(!_root.emu.landing && Key.isDown(38) && !_root.emu.onLadder)
- {
- if(_root.ladders.hitTest(_root.emu._x,_root.emu._y,true))
- {
- if(!_root.emu.onLadder)
- {
- _root.emu.onLadder = 1;
- _root.emu.myFloor--;
- _root.emu.speed = 0;
- }
- _root.emu.ladderDir = -1;
- _root.emu._y -= 5;
- _root.emu.gotoAndStop("climb");
- }
- else
- {
- _root.emu.onLadder = 0;
- }
- }
- else if(!_root.emu.landing && _root.emu.onLadder)
- {
- if(_root.emu.ladderDir == -1 && !_root.ladders.hitTest(_root.emu._x,_root.emu._y,true))
- {
- _root.emu.onLadder = 0;
- }
- else if(_root.emu.ladderDir == 1 && !_root.ladders.hitTest(_root.emu._x,_root.emu._y + _root.emu.emuHeight,true))
- {
- _root.emu.onLadder = 0;
- }
- else
- {
- _root.emu._y += _root.emu.ladderDir * 5;
- }
- }
- if(!_root.emu.landing && Key.isDown(37) && !_root.emu.onLadder)
- {
- if(_root.emu.xdir == 1 && _root.emu.speed > 0)
- {
- _root.emu.speed -= _root.emu.emuBraking;
- }
- else
- {
- _root.emu.xdir = -1;
- if(_root.emu.speed < 10)
- {
- _root.emu.speed = _root.emu.speed + 1;
- }
- }
- if(!_root.emu.falling && !_root.emu.landing && !_root.emu.peck && _root.emu._currentframe != 4)
- {
- _root.emu.gotoAndStop("run" + (_root.emu.xdir + 1));
- }
- }
- else if(!_root.emu.landing && Key.isDown(39) && !_root.emu.onLadder)
- {
- if(_root.emu.xdir == -1 && _root.emu.speed > 0)
- {
- _root.emu.speed -= _root.emu.emuBraking;
- }
- else
- {
- _root.emu.xdir = 1;
- if(_root.emu.speed < 10)
- {
- _root.emu.speed = _root.emu.speed + 1;
- }
- }
- if(!_root.emu.falling && !_root.emu.landing && !_root.emu.peck && _root.emu._currentframe != 3)
- {
- _root.emu.gotoAndStop("run" + (_root.emu.xdir + 1));
- }
- }
- else if(_root.emu.speed > 0)
- {
- _root.emu.speed -= _root.emu.emuBraking;
- if(!_root.emu.falling && !_root.emu.landing && !_root.emu.peck)
- {
- _root.emu.gotoAndStop("skid" + (_root.emu.xdir + 1));
- }
- }
- else if(!_root.emu.onLadder && !_root.emu.falling && !_root.emu.landing && !_root.emu.peck)
- {
- _root.emu.gotoAndStop("static" + (_root.emu.xdir + 1));
- }
- if(_root.emu.speed > 0)
- {
- if(_root.emu.xdir == -1)
- {
- if(_root.emu._x > 0)
- {
- _root.emu._x -= _root.emu.speed;
- }
- }
- else if(_root.emu._x < Stage.width)
- {
- _root.emu._x += _root.emu.speed;
- }
- }
- triggerPeck = 0;
- if(!_root.emu.landing && Key.isDown(32) && _root.peckReleased)
- {
- if(!_root.emu.peck)
- {
- _root.emu.peckPointer = _root.emu.peckPointer + 1;
- if(_root.emu.peckPointer > 3)
- {
- _root.emu.peckPointer = 1;
- }
- _root.peckReleased = 0;
- peckHeight = _root["peckHeight" + _root.emu.peckPointer];
- _root.emu.peck = 1;
- triggerPeck = 1;
- }
- }
- else if(!Key.isDown(32))
- {
- _root.peckReleased = 1;
- }
- if(triggerPeck)
- {
- if(peckHeight == _root.peckHeight1)
- {
- _root.emu.gotoAndStop("peckLow" + (_root.emu.xdir + 1));
- }
- else if(peckHeight == _root.peckHeight2)
- {
- _root.emu.gotoAndStop("peckMid" + (_root.emu.xdir + 1));
- }
- else if(peckHeight == _root.peckHeight3)
- {
- _root.emu.gotoAndStop("peckHigh" + (_root.emu.xdir + 1));
- }
- if(Math.abs(_root.emu._x + _root.emu.xdir * (_root.emu._width / 2) - _root.sophieClip._x) < 25 && _root.emu.myFloor == _root.sophie.myFloor)
- {
- _root.turnToWalkOff();
- _root.emu.gotoAndStop("peckMid" + (_root.emu.xdir + 1));
- _root.sophie.behaviour = "pecked";
- _root.sophie.pecked = 1;
- _root.sophieClip.gotoAndStop("pecked");
- }
- if(_root.emu.speed <= 0)
- {
- _root.emu.legs.gotoAndStop("static" + (_root.emu.xdir + 1));
- }
- else
- {
- _root.emu.legs.gotoAndStop("run" + (_root.emu.xdir + 1));
- }
- _root.emu.elevator = 0;
- if(_root.emu._y < _root.floor1)
- {
- peckFloor = 1;
- }
- else if(_root.emu._y < _root.floor2)
- {
- peckFloor = 2;
- if(Math.abs(_root.emu._x + _root.emu.xdir * (_root.emu._width / 2) - _root.el1._x) < 15)
- {
- _root.emu.elevator = 1;
- _root.emu.elevatorTo = 4;
- _root.emu.elevatorFrom = 2;
- }
- }
- else if(_root.emu._y < _root.floor3)
- {
- peckFloor = 3;
- }
- else
- {
- peckFloor = 4;
- if(Math.abs(_root.emu._x + _root.emu.xdir * (_root.emu._width / 2) - _root.el1._x) < 15)
- {
- _root.emu.elevator = 1;
- _root.emu.elevatorTo = 2;
- _root.emu.elevatorFrom = 4;
- }
- }
- if(!_root.emu.elevator)
- {
- peckSquare = Math.floor((_root.emu._x + _root.emu.xdir * (_root.emu._width / 2)) / 50) + 1;
- _root.peckDetector(peckHeight,peckFloor,peckSquare);
- }
- else
- {
- _root.emu.peck = 0;
- _root.emu._x = 150;
- _root["elDoor" + _root.emu.elevatorFrom].doors.gotoAndPlay("enterLift");
- _root.sophie.pausedState = _root.sophieClip._currentframe;
- _root.theme.stop();
- _root.themePoint = Math.round(_root.theme.position / 1000);
- _root.elevatorDing.start(0,1);
- _root.elevatorMusic.start(0,1);
- _root.emu._visible = 0;
- _root.emu._y = _root["floor" + _root.emu.elevatorTo] - _root.emu.emuHeight;
- _root.emu.myFloor = _root.emu.elevatorTo;
- _root.emu.inLift = 1;
- }
- }
- }
- }
- else if(_root.emu.inLift)
- {
- _root.sophieClip.gotoAndStop("static");
- }
- else if(_root.gameFinished)
- {
- _root.sophieClip.gotoAndStop(_root.sophieState);
- _root.emu.gotoAndStop(_root.emuState);
- }
- }
-